package com.achao.twoway.twowaydragrecyclerview;

/**
 * description：
 * author：liuchao
 * time：2018/12/6 16:13
 */
public interface OnItemViewDragListener {

    /**
     * 开始拖拽
     *
     * @return
     */
    boolean onStartDrag(int position);

    /**
     * 拖拽进入当前view
     */
    void onEnterView(int position);

    /**
     * 拖拽块在view中移动
     */
    void onViewMoving(int position);

    /**
     * 拖拽块退出当前view
     */
    void onExitView(int position);

    /**
     * 释放拖拽块
     *
     * @return true：拖拽块交换成功  false：拖拽块复原，回到原来的位置
     */
    boolean onReleaseDrag(int position);

    /**
     * 结束拖拽事件
     */
    void onEndDrag(int startPosition, int currentItemPosition, boolean isPutIn);

}
